﻿var status = 0;
var minLevel = 200; // GMS = 50 
var maxLevel = 275; // GMS = 200? recommended 70 - 119
var minPlayers = 2; // GMS = 3
var maxPlayers = 6; // GMS = 5 || but 6 makes it better :p
var open = false; //open or not true
var PQLog = "毒物森林";

function start() {
  status = -1;
  action(1, 0, 0);
}

function action(mode, type, selection) {
  if (status >= 1 && mode == 0) {
    cm.sendOk("你需要和你的朋友组队，你可以使用搜索功能（快捷键O）组队，可以在任何地方找到你的队员。"); // gms has spelling mistakes.. 
    cm.dispose();
    return;
  }
  if (mode == 0 && status == 0) {
    cm.dispose();
    return;
  }
  if (mode == 1)
    status++;
  else
    status--;

  if (status == 0) {
    if (cm.getPlayer().getMapId() != 300030010) { // not in pq lobby
      cm.sendSimple("你真的想离开这个地图前往<毒物森林组队任务>吗？#b\r\n#L0#是! 让我前往<毒物森林组队任务>。#l");
    } else if (cm.getPlayer().getMapId() == 300030010) {
      cm.sendSimple("#e <组队任务: 毒物森林>#n\r\n神秘的力量已经毒害了森林，和所有的士兵都在阿尔泰营是忙着做什么。我们需要你！如果你是 #b Lvevl. 200 或更高#k, 你可以帮助！#b\r\n#L1#进入毒物森林。#l\r\n#L4#听艾琳的故事。#l\r\n#L3#问阿尔泰碎片。#l\r\n#L2#找到队员。#l\r\n#L6#查看今天的剩余次数。#k");
    } else {
      cm.dispose();
    }
  } else if (status == 1) {
    if (selection == 0) {
      cm.saveLocation("MULUNG_TC");
      cm.warp(300030010, 0);
      cm.dispose();
    } else if (selection == 1) {
      if (cm.getParty() == null) { // 判断是否组队
        cm.sendYesNo("你需要创建一个组队才能做毒雾森林。你是否要用组队的搜索功能？");
        cm.dispose();
      } else if (!cm.isLeader()) { // 判断是否是队长
        cm.sendOk("只有组队队长才可以申请进入毒雾森林。");
        cm.dispose();
      } else if (!cm.isAllPartyMembersAllowedPQ(PQLog, 10)) {
        cm.sendNext("你的队员#r#e \"" + cm.getNotAllowedPQMemberName(PQLog, 10) + "\" #k#n次数已经达到上限了。");
        cm.dispose();
      } else if (!cm.allMembersHere()) { //判断队员是否在同一地图
        cm.sendOk("有队员不在同一个地图，请召集好队员重新试一下。");
        cm.dispose();
      } else {
        // Check if all party members are over lvl 50
        var party = cm.getParty().getMembers();
        var mapId = cm.getMapId();
        var next = true;
        var levelValid = 0;
        var inMap = 0;

        var it = party.iterator();
        while (it.hasNext()) {
          var cPlayer = it.next();
          var ccPlayer = cm.getPlayer().getMap().getCharacterById(cPlayer.getId());
          if (cPlayer.getLevel() >= minLevel && cPlayer.getLevel() <= maxLevel) { // check if skill is correct
            levelValid += 1;
          } else {
            //cm.sendOk("你的等级不是 " + minLevel + " 和 " + maxLevel + " 之间，所以无法进入毒雾森林。");//判断等级是否达到要求。
            cm.dispose();
            next = false;
          }
          if (cPlayer.getMapid() == mapId) {
            inMap += 1;
          }
        }
        if (party.size() > maxPlayers || inMap < minPlayers) {
          next = false;
        }
        if (next) {
          var em = cm.getEventManager("Ellin");
          if (em == null || open == false) {
            cm.sendSimple("这个副本管理员已经关闭了。");
            cm.dispose();
          } else {
            var prop = em.getProperty("state");
            if (prop == null || prop.equals("0")) {
              cm.removeFromParty(4001163);
              cm.removeFromParty(4001169);
              cm.removeFromParty(2270004);
              cm.removeFromParty(4001161);
              cm.removeFromParty(4001164);
              cm.removeFromParty(4001162);
              cm.gainMembersPQ(PQLog, 1);
              em.startInstance(cm.getParty(), cm.getMap(), 200);
            } else {
              cm.sendSimple("有人已经在挑战这个副本。请等待他们完成，或者换个频道尝试一下。"); //判断是否有人进入这个副本
            }
            /* for (var i = 4001044; i < 4001064; i++) {
		cm.removeAll(i); //holy
	} */
            //cm.removeAll(4001453);//remove all orbis pq items
            cm.dispose();
          }
        } else {
          cm.sendYesNo("你的组队人数不足，你的等级不是 " + minLevel + " 和 " + maxLevel + " 之间或者需要 " + minPlayers + " 到 " + maxPlayers + " 个队友。 请回来的时候在组好 " + minPlayers + " 到 " + maxPlayers + " 个队友。");
          cm.dispose();
        }
      }
    } else if (selection == 2) {
      //cm.openUI("27");
      cm.dispose();

    } else if (selection == 3) {
      cm.sendNext("哦，那是个阿尔泰碎片！阿尔泰碎片可以用来制作#t2450081#。如果你可以找到10个阿尔泰碎片，我能为你做#t2450081#。\r\n#b#L10#我有10个阿尔泰碎片！#l#k");
    } else if (selection == 4) {
      cm.sendNext("这里曾经是一个干净和平的森林，有着美丽的仙女。但前一段时间，有个 #r 神秘男子穿着黑色的长袍#k 来了， 赶走了仙女，并进行了一个邪恶的研究。由于他的研究，森林变得越来越被污染了。现在我们必须拯救森林！");
      cm.dispose();
    } else if (selection == 6) {
      var pqtry = 10 - cm.getPQLog(PQLog);
      cm.sendOk("你今天还可以做这个任务 " + pqtry + " 次。");
      cm.dispose();
    }
  } else if (status == 2) {
    if (selection == 10) {
      if (cm.haveItem(4001198, 10) && cm.getEventCount("毒物森林碎片兑换") == 0) {
        /*  if(!cm.canHold(1032101,1)) {
              cm.sendSimple("Please make some room for these earrings.");
          }*/
        cm.gainItem(2450081, 1); // Goddess Wristband
        cm.gainItem(4001198, -10);
        cm.setEventCount("毒物森林碎片兑换")
        cm.sendOk("非常感谢你。拿走 #t2450081# 吧！");
        cm.dispose();
      } else {
        cm.sendSimple("您的物品不够，想要做一个#b #t2450081##k, 需要 10 个阿尔泰碎片。或者您的账户今日已经兑换过一次了。");
        cm.dispose();
      }
    }
    /*cm.sendNextPrev("阿尔泰营的士兵说他们不能帮助我们，他们太繁忙的挖掘，所以请你帮忙一下。\r\n#等级#n: 70 或者更高#r(推荐级别: 70-119)#k \r\n #时间限制#n: 20 分钟 \r\n #需要队员#n: 3-5 \r\n #任务奖励#n:#v1032101:#闪耀阿尔泰耳环");
    cm.dispose();*/
    if (status == 3) {
      cm.openUI("21");
      cm.dispose();
    } else if (mode == 0) {
      cm.openUI("21");
      cm.dispose();
    }
  }
}